home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / LockEmUp / LockemUp.jar / LockemUp / GameScreen.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-03-05  |  4.3 KB  |  204 lines

  1. package LockemUp;
  2.  
  3. import com.siemens.mp.game.ExtendedImage;
  4. import com.siemens.mp.game.GraphicObjectManager;
  5. import javax.microedition.lcdui.Canvas;
  6. import javax.microedition.lcdui.CommandListener;
  7. import javax.microedition.lcdui.Graphics;
  8. import javax.microedition.lcdui.Image;
  9. import javax.microedition.lcdui.List;
  10.  
  11. public class GameScreen extends BaseScreen {
  12.    private static final int GAME_SCREEN_WIDTH = 88;
  13.    private static final int GAME_SCREEN_HEIGHT = 77;
  14.    private static final String MAP_DATA_FILE = "res\\maps.dat";
  15.    private static final String MAP_TILE_FILE = "res\\wall.bin";
  16.    private static final String MAP_TILE_ACTORS = "res\\actors.bin";
  17.    private int mapNumber;
  18.    private int iState;
  19.    private boolean readyToPaint = false;
  20.    private CommandListener listener;
  21.    private boolean repaintBack;
  22.    private Image gameScreenImage;
  23.    private ExtendedImage gameScreen = null;
  24.    private GraphicObjectManager gfxManager;
  25.    private GameBoard back;
  26.  
  27.    public GameScreen(int var1) {
  28.       this.mapNumber = var1;
  29.  
  30.       try {
  31.          this.gameScreenImage = Image.createImage(88, 77);
  32.          this.gameScreen = new ExtendedImage(this.gameScreenImage);
  33.          this.gameScreen.clear((byte)0);
  34.          this.gfxManager = new GraphicObjectManager();
  35.          byte[] var2 = ((BaseScreen)this).ReadByteArray("res\\maps.dat", 4, var1 * 2);
  36.          int var3 = this.byteToInt(var2[0]) * 256 + this.byteToInt(var2[1]);
  37.          int var4 = this.byteToInt(var2[2]) * 256 + this.byteToInt(var2[3]) - var3;
  38.          var2 = ((BaseScreen)this).ReadByteArray("res\\maps.dat", var4, var3);
  39.          byte[] var5 = ((BaseScreen)this).ReadByteArray("res\\wall.bin", 42, 0);
  40.          byte[] var6 = ((BaseScreen)this).ReadByteArray("res\\actors.bin", 496, 0);
  41.          switch (this.mapNumber) {
  42.             case 0:
  43.             case 1:
  44.                this.back = new GameBoard(this.gfxManager, var2, var5, var6, 0);
  45.                break;
  46.             case 2:
  47.                this.back = new GameBoard(this.gfxManager, var2, var5, var6, 1);
  48.                break;
  49.             case 3:
  50.                this.back = new GameBoard(this.gfxManager, var2, var5, var6, 2);
  51.                break;
  52.             default:
  53.                this.back = new GameBoard(this.gfxManager, var2, var5, var6, 3);
  54.          }
  55.       } catch (Exception var7) {
  56.          System.out.println("Exception: " + var7);
  57.       }
  58.  
  59.       this.readyToPaint = true;
  60.       this.iState = 0;
  61.       this.repaintBack = true;
  62.    }
  63.  
  64.    public void reInit() {
  65.       this.iState = 0;
  66.       switch (this.mapNumber) {
  67.          case 0:
  68.          case 1:
  69.             this.back.reInit(0);
  70.             break;
  71.          case 2:
  72.             this.back.reInit(1);
  73.             break;
  74.          case 3:
  75.             this.back.reInit(2);
  76.             break;
  77.          default:
  78.             this.back.reInit(3);
  79.       }
  80.  
  81.       this.readyToPaint = true;
  82.       this.repaintBack = true;
  83.    }
  84.  
  85.    public void setOnSound(boolean var1) {
  86.       this.back.setOnSound(var1);
  87.    }
  88.  
  89.    public void setOnVibrate(boolean var1) {
  90.       this.back.setOnVibrate(var1);
  91.    }
  92.  
  93.    public void Dispose() {
  94.       this.gameScreen = null;
  95.       this.gfxManager = null;
  96.       this.back.Dispose();
  97.    }
  98.  
  99.    public void run() {
  100.       boolean var1 = true;
  101.  
  102.       while(var1) {
  103.          try {
  104.             Thread.sleep(20L);
  105.          } catch (Exception var5) {
  106.          }
  107.  
  108.          int var2 = this.back.manageMoves();
  109.  
  110.          try {
  111.             if (var2 > 0) {
  112.                this.gameScreen.clear((byte)0);
  113.             } else {
  114.                this.gameScreen.setPixels(this.back.getBackground(), 0, 0, 88, 77);
  115.                this.gfxManager.paint(this.gameScreen, 0, 0);
  116.             }
  117.  
  118.             ((Canvas)this).repaint();
  119.          } catch (Exception var4) {
  120.             System.out.println("Exception: " + var4);
  121.          }
  122.  
  123.          if (this.iState != 0 || var2 > 0) {
  124.             if (this.iState == 0) {
  125.                this.iState = var2;
  126.             }
  127.  
  128.             var1 = false;
  129.          }
  130.       }
  131.  
  132.    }
  133.  
  134.    public void setRepaintFlag(boolean var1) {
  135.       this.repaintBack = var1;
  136.    }
  137.  
  138.    public int getReturnValue() {
  139.       return this.iState;
  140.    }
  141.  
  142.    public void setStateValue(int var1) {
  143.       this.iState = var1;
  144.       if (var1 > 0) {
  145.          this.gameScreen.clear((byte)0);
  146.          this.gameScreen.blitToScreen(2, 1);
  147.          this.readyToPaint = false;
  148.          this.repaintBack = false;
  149.       }
  150.  
  151.    }
  152.  
  153.    public void paint(Graphics var1) {
  154.       if (this.repaintBack) {
  155.          var1.drawLine(0, 0, 0, 79);
  156.          var1.drawLine(90, 0, 90, 79);
  157.          Image var2 = Image.createImage(8, 75);
  158.          ExtendedImage var3 = new ExtendedImage(var2);
  159.          var3.clear((byte)-127);
  160.          byte[] var4 = ((BaseScreen)this).ReadByteArray("res\\right.bin", 75, 0);
  161.          var3.setPixels(var4, 0, 0, 8, 75);
  162.          var3.blitToScreen(92, 0);
  163.          this.repaintBack = false;
  164.       }
  165.  
  166.       if (this.gameScreen != null && this.readyToPaint) {
  167.          try {
  168.             this.gameScreen.blitToScreen(2, 1);
  169.          } catch (Exception var5) {
  170.             System.out.println("Exception: " + var5);
  171.          }
  172.       }
  173.  
  174.    }
  175.  
  176.    public void setCommandListener(CommandListener var1) {
  177.       super.setCommandListener(var1);
  178.       this.listener = var1;
  179.    }
  180.  
  181.    protected void keyPressed(int var1) {
  182.       if (var1 == -12) {
  183.          this.listener.commandAction(List.SELECT_COMMAND, this);
  184.       } else {
  185.          this.back.turnArrow(var1 - 48);
  186.       }
  187.    }
  188.  
  189.    protected void keyReleased(int var1) {
  190.    }
  191.  
  192.    protected void keyRepeated(int var1) {
  193.    }
  194.  
  195.    private int byteToInt(byte var1) {
  196.       if (var1 >= 0) {
  197.          return var1;
  198.       } else {
  199.          int var2 = var1 + 256;
  200.          return var2;
  201.       }
  202.    }
  203. }
  204.